The present invention relates to a digital printing apparatus, particularly a relatively high-speed printing apparatus which is shared among numerous independent users.
In typical office environments, it is often desirable to have a single relatively high-speed digital printer be shared among numerous users, each user having a computer from which he can send a job to be printed to the printer. A common consideration when a single printer is shared among numerous users is the xe2x80x9cdecomposingxe2x80x9d or xe2x80x9crasterizingxe2x80x9d of jobs submitted to the printer. As is well known in the art, files submitted for printing to a computer are typically of one of a number of standard formats, in particular, page description languages such as Adobe(copyright) PostScript(trademark) or PCL, and other formats such as TIFF or ASCII, as well as facsimile formats. A large central printer serving a large population of users is preferably equipped with numerous xe2x80x9cdecomposersxe2x80x9d or xe2x80x9crasterizersxe2x80x9d which convert image data submitted to the printer in a particular format, to a format which is more directly operative of the printer hardware. The decomposed or rasterized files, before they are used to operate printing apparatus to print a series of desired images, are typically retained in a compressed form until the precise moment when a particular page image desired to be printed within a particular user""s job is ready to be submitted to the printer hardware.
Although compression of a decomposed or rasterized image saves space when the image data is waiting to be printed, the compressed image files are still usually much larger than the original image data (such as in a page description language) which was originally submitted by the user. Further, as is well known, decomposing or rasterizing an image in a page description language represents a major computational function of the printer: indeed, in many situations the time it takes to decompose or rasterize original image data acts as a constraint on the output speed of the printer hardware. It is therefore desirable to decompose or rasterize image data in a page description language only when necessary.
As a practical matter, in many contexts of multiple users sharing a single printer, more than one user may desire to print an identical file within a reasonable time span. For example, if a set of users sharing a printer in one office all receive an e-mail with attachment simultaneously, it is fairly likely that more than one user will eventually wish to print out the attachment within the same business day. The present invention exploits this common occurrence to increase the overall performance of a printing system.
In the prior art, U.S. Pat. No. 5,715,379 shows, in overview, the function of a digital printing system including a plurality of decomposers which operate simultaneously and independently. As individual page images are decomposed by various decomposers, a buffer manager directs the decomposed images to a central memory, and records the exact location in memory of different page images from different jobs. In this way, a large number of users, using various page description languages and other formats, can share a high-speed printing apparatus.
U.S. Pat. No. 5,848,226 shows a system for prioritizing data transfer in a high-volume digital printing apparatus.
U.S. Pat. No. 5,881,213 discloses a system for supporting deferred printing of print jobs. The processes of spooling and despooling the print job are decoupled, such that a printer need not be available at the time of spooling. Print jobs are spooled in a device-independent format, and may be spooled without a printer driver being installed for a target printer. Later, when the target printer becomes available, the print job is despooled and printed.
According to the present invention, there is provided a method and apparatus for printing files based on digital data. A rasterizer converts files in an original image format to a rasterized data format suitable for submission to printing hardware. A memory retains rasterized data corresponding to files requested to be printed. It is determined whether a file requested to be printed corresponds to a pre-existing quantity of rasterized image data in the memory. The pre-existing quantity of rasterized image data in the memory is submitted to the printing hardware if the file requested to be printed corresponds thereto.